home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 1998 November / IRIX 6.5.2 Base Documentation November 1998.img / usr / share / catman / u_man / cat3 / Tk / 3dborder.z / 3dborder
Text File  |  1998-10-30  |  26KB  |  397 lines

  1.  
  2.  
  3.  
  4. TTTTkkkk____GGGGeeeetttt3333DDDDBBBBoooorrrrddddeeeerrrr((((3333TTTTkkkk))))                                        TTTTkkkk____GGGGeeeetttt3333DDDDBBBBoooorrrrddddeeeerrrr((((3333TTTTkkkk))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      Tk_Get3DBorder, Tk_Draw3DRectangle, Tk_Fill3DRectangle, Tk_Draw3DPolygon,
  10.      Tk_Fill3DPolygon, Tk_3DVerticalBevel, Tk_3DHorizontalBevel,
  11.      Tk_SetBackgroundFromBorder, Tk_NameOf3DBorder, Tk_3DBorderColor,
  12.      Tk_3DBorderGC, Tk_Free3DBorder - draw borders with three-dimensional
  13.      appearance
  14.  
  15. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  16.      ####iiiinnnncccclllluuuuddddeeee <<<<ttttkkkk....hhhh>>>>
  17.  
  18.      Tk_3DBorder
  19.      TTTTkkkk____GGGGeeeetttt3333DDDDBBBBoooorrrrddddeeeerrrr((((_i_n_t_e_r_p, _t_k_w_i_n, _c_o_l_o_r_N_a_m_e))))                                 |
  20.  
  21.      void                                                                     |
  22.      TTTTkkkk____DDDDrrrraaaawwww3333DDDDRRRReeeeccccttttaaaannnngggglllleeee((((_t_k_w_i_n, _d_r_a_w_a_b_l_e, _b_o_r_d_e_r, _x, _y, _w_i_d_t_h, _h_e_i_g_h_t,         |
  23.       _b_o_r_d_e_r_W_i_d_t_h, _r_e_l_i_e_f))))                                                    |
  24.  
  25.      void                                                                     |
  26.      TTTTkkkk____FFFFiiiillllllll3333DDDDRRRReeeeccccttttaaaannnngggglllleeee((((_t_k_w_i_n, _d_r_a_w_a_b_l_e, _b_o_r_d_e_r, _x, _y, _w_i_d_t_h, _h_e_i_g_h_t,         |
  27.       _b_o_r_d_e_r_W_i_d_t_h, _r_e_l_i_e_f))))                                                    |
  28.  
  29.      void                                                                     |
  30.      TTTTkkkk____DDDDrrrraaaawwww3333DDDDPPPPoooollllyyyyggggoooonnnn((((_t_k_w_i_n, _d_r_a_w_a_b_l_e, _b_o_r_d_e_r, _p_o_i_n_t_P_t_r, _n_u_m_P_o_i_n_t_s,           |
  31.       _p_o_l_y_B_o_r_d_e_r_W_i_d_t_h, _l_e_f_t_R_e_l_i_e_f))))                                            |
  32.  
  33.      void                                                                     |
  34.      TTTTkkkk____FFFFiiiillllllll3333DDDDPPPPoooollllyyyyggggoooonnnn((((_t_k_w_i_n, _d_r_a_w_a_b_l_e, _b_o_r_d_e_r, _p_o_i_n_t_P_t_r, _n_u_m_P_o_i_n_t_s,           |
  35.       _p_o_l_y_B_o_r_d_e_r_W_i_d_t_h, _l_e_f_t_R_e_l_i_e_f))))                                            |
  36.  
  37.      void                                                                     |
  38.      TTTTkkkk____3333DDDDVVVVeeeerrrrttttiiiiccccaaaallllBBBBeeeevvvveeeellll(_t_k_w_i_n, _d_r_a_w_a_b_l_e, _b_o_r_d_e_r, _x, _y, _w_i_d_t_h, _h_e_i_g_h_t,         |
  39.       _l_e_f_t_B_e_v_e_l, _r_e_l_i_e_f))))                                                      |
  40.  
  41.      void                                                                     |
  42.      TTTTkkkk____3333DDDDHHHHoooorrrriiiizzzzoooonnnnttttaaaallllBBBBeeeevvvveeeellll(_t_k_w_i_n, _d_r_a_w_a_b_l_e, _b_o_r_d_e_r, _x, _y, _w_i_d_t_h, _h_e_i_g_h_t,       |
  43.       _l_e_f_t_I_n, _r_i_g_h_t_I_n, _t_o_p_B_e_v_e_l, _r_e_l_i_e_f))))                                      |
  44.  
  45.      void
  46.      TTTTkkkk____SSSSeeeettttBBBBaaaacccckkkkggggrrrroooouuuunnnnddddFFFFrrrroooommmmBBBBoooorrrrddddeeeerrrr((((_t_k_w_i_n, _b_o_r_d_e_r))))
  47.  
  48.      char *
  49.      TTTTkkkk____NNNNaaaammmmeeeeOOOOffff3333DDDDBBBBoooorrrrddddeeeerrrr((((_b_o_r_d_e_r))))
  50.  
  51.      XColor *
  52.      TTTTkkkk____3333DDDDBBBBoooorrrrddddeeeerrrrCCCCoooolllloooorrrr((((_b_o_r_d_e_r))))
  53.  
  54.      GC *                                                                     |
  55.      TTTTkkkk____3333DDDDBBBBoooorrrrddddeeeerrrrGGGGCCCC((((_t_k_w_i_n, _b_o_r_d_e_r, _w_h_i_c_h))))                                      |
  56.  
  57.      TTTTkkkk____FFFFrrrreeeeeeee3333DDDDBBBBoooorrrrddddeeeerrrr((((_b_o_r_d_e_r))))
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. TTTTkkkk____GGGGeeeetttt3333DDDDBBBBoooorrrrddddeeeerrrr((((3333TTTTkkkk))))                                        TTTTkkkk____GGGGeeeetttt3333DDDDBBBBoooorrrrddddeeeerrrr((((3333TTTTkkkk))))
  71.  
  72.  
  73.  
  74. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  75.      Tcl_Interp    *_i_n_t_e_r_p       (in)      Interpreter to use for error
  76.                                            reporting.
  77.  
  78.      Tk_Window     _t_k_w_i_n         (in)      Token for window (for all          |
  79.                                            procedures except TTTTkkkk____GGGGeeeetttt3333DDDDBBBBoooorrrrddddeeeerrrr,  |
  80.                                            must be the window for which the   |
  81.                                            border was allocated).
  82.  
  83.      Tk_Uid        _c_o_l_o_r_N_a_m_e     (in)      Textual description of color
  84.                                            corresponding to background (flat
  85.                                            areas).  Illuminated edges will be
  86.                                            brighter than this and shadowed
  87.                                            edges will be darker than this.
  88.  
  89.      Drawable      _d_r_a_w_a_b_l_e      (in)      X token for window or pixmap;
  90.                                            indicates where graphics are to be
  91.                                            drawn.  Must either be the X window
  92.                                            for _t_k_w_i_n or a pixmap with the same
  93.                                            screen and depth as _t_k_w_i_n.
  94.  
  95.      Tk_3DBorder   _b_o_r_d_e_r        (in)      Token for border previously
  96.                                            allocated in call to
  97.                                            TTTTkkkk____GGGGeeeetttt3333DDDDBBBBoooorrrrddddeeeerrrr.
  98.  
  99.      int           _x             (in)      X-coordinate of upper-left corner
  100.                                            of rectangle describing border or
  101.                                            bevel, in pixels.
  102.  
  103.      int           _y             (in)      Y-coordinate of upper-left corner
  104.                                            of rectangle describing border or
  105.                                            bevel, in pixels.
  106.  
  107.      int           _w_i_d_t_h         (in)      Width of rectangle describing
  108.                                            border or bevel, in pixels.
  109.  
  110.      int           _h_e_i_g_h_t        (in)      Height of rectangle describing
  111.                                            border or bevel, in pixels.
  112.  
  113.      int           _b_o_r_d_e_r_W_i_d_t_h   (in)      Width of border in pixels. Positive
  114.                                            means border is inside rectangle
  115.                                            given by _x, _y, _w_i_d_t_h, _h_e_i_g_h_t,
  116.                                            negative means border is outside
  117.                                            rectangle.
  118.  
  119.      int           _r_e_l_i_e_f        (in)      Indicates 3-D position of interior
  120.                                            of object relative to exterior;
  121.                                            should be TK_RELIEF_RAISED,
  122.                                            TK_RELIEF_SUNKEN, TK_RELIEF_GROOVE,
  123.                                            or TK_RELIEF_RIDGE (may also be
  124.                                            TK_RELIEF_FLAT for
  125.                                            TTTTkkkk____FFFFiiiillllllll3333DDDDRRRReeeeccccttttaaaannnngggglllleeee).
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. TTTTkkkk____GGGGeeeetttt3333DDDDBBBBoooorrrrddddeeeerrrr((((3333TTTTkkkk))))                                        TTTTkkkk____GGGGeeeetttt3333DDDDBBBBoooorrrrddddeeeerrrr((((3333TTTTkkkk))))
  137.  
  138.  
  139.  
  140.      XPoint        *_p_o_i_n_t_P_t_r     (in)      Pointer to array of points
  141.                                            describing the set of vertices in a
  142.                                            polygon.  The polygon need not be
  143.                                            closed (it will be closed
  144.                                            automatically if it isn't).
  145.  
  146.      int           _n_u_m_P_o_i_n_t_s     (in)      Number of points at *_p_o_i_n_t_P_t_r.
  147.  
  148.      int           _p_o_l_y_B_o_r_d_e_r_W_i_d_t_h(in)     Width of border in pixels.  If
  149.                                            positive, border is drawn to left
  150.                                            of trajectory given by _p_o_i_n_t_P_t_r;
  151.                                            if negative, border is drawn to
  152.                                            right of trajectory.  If _l_e_f_t_R_e_l_i_e_f
  153.                                            is TK_RELIEF_GROOVE or
  154.                                            TK_RELIEF_RIDGE then the border is
  155.                                            centered on the trajectory.
  156.  
  157.      int           _l_e_f_t_R_e_l_i_e_f    (in)      Height of left side of polygon's
  158.                                            path relative to right.
  159.                                            TK_RELIEF_RAISED means left side
  160.                                            should appear higher and
  161.                                            TK_RELIEF_SUNKEN means right side
  162.                                            should appear higher;
  163.                                            TK_RELIEF_GROOVE and
  164.                                            TK_RELIEF_RIDGE mean the obvious
  165.                                            things.  For TTTTkkkk____FFFFiiiillllllll3333DDDDPPPPoooollllyyyyggggoooonnnn,
  166.                                            TK_RELIEF_FLAT may also be
  167.                                            specified to indicate no difference
  168.                                            in height.
  169.  
  170.      int           _l_e_f_t_B_e_v_e_l     (in)      Non-zero means this bevel forms the|
  171.                                            left side of the object;  zero     |
  172.                                            means it forms the right side.
  173.  
  174.      int           _l_e_f_t_I_n        (in)      Non-zero means that the left edge  |
  175.                                            of the horizontal bevel angles in, |
  176.                                            so that the bottom of the edge is  |
  177.                                            farther to the right than the top. |
  178.                                            Zero means the edge angles out, so |
  179.                                            that the bottom is farther to the  |
  180.                                            left than the top.
  181.  
  182.      int           _r_i_g_h_t_I_n       (in)      Non-zero means that the right edge |
  183.                                            of the horizontal bevel angles in, |
  184.                                            so that the bottom of the edge is  |
  185.                                            farther to the left than the top.  |
  186.                                            Zero means the edge angles out, so |
  187.                                            that the bottom is farther to the  |
  188.                                            right than the top.
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202. TTTTkkkk____GGGGeeeetttt3333DDDDBBBBoooorrrrddddeeeerrrr((((3333TTTTkkkk))))                                        TTTTkkkk____GGGGeeeetttt3333DDDDBBBBoooorrrrddddeeeerrrr((((3333TTTTkkkk))))
  203.  
  204.  
  205.  
  206.      int           _t_o_p_B_e_v_e_l      (in)      Non-zero means this bevel forms the|
  207.                                            top side of the object;  zero means|
  208.                                            it forms the bottom side.
  209.  
  210.      int           _w_h_i_c_h         (in)      Specifies which of the border's    |
  211.                                            graphics contexts is desired.  Must|
  212.                                            be TK_3D_FLAT_GC, TK_3D_LIGHT_GC,  |
  213.                                            or TK_3D_DARK_GC.
  214.  
  215.  
  216. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  217.      These procedures provide facilities for drawing window borders in a way
  218.      that produces a three-dimensional appearance.  TTTTkkkk____GGGGeeeetttt3333DDDDBBBBoooorrrrddddeeeerrrr allocates
  219.      colors and Pixmaps needed to draw a border in the window given by the
  220.      _t_k_w_i_n argument.  The _c_o_l_o_r_N_a_m_e argument indicates what colors should be
  221.      used in the border.  _C_o_l_o_r_N_a_m_e may be any value acceptable to
  222.      TTTTkkkk____GGGGeeeettttCCCCoooolllloooorrrr.  The color indicated by _c_o_l_o_r_N_a_m_e will not actually be used
  223.      in the border;  it indicates the background color for the window (i.e. a
  224.      color for flat surfaces).  The illuminated portions of the border will
  225.      appear brighter than indicated by _c_o_l_o_r_N_a_m_e, and the shadowed portions of
  226.      the border will appear darker than _c_o_l_o_r_N_a_m_e.
  227.  
  228.      TTTTkkkk____GGGGeeeetttt3333DDDDBBBBoooorrrrddddeeeerrrr returns a token that may be used in later calls to
  229.      TTTTkkkk____DDDDrrrraaaawwww3333DDDDRRRReeeeccccttttaaaannnngggglllleeee.  If an error occurs in allocating information for the
  230.      border (e.g. _c_o_l_o_r_N_a_m_e isn't a legal color specifier), then NULL is
  231.      returned and an error message is left in _i_n_t_e_r_p->_r_e_s_u_l_t.
  232.  
  233.      Once a border structure has been created, TTTTkkkk____DDDDrrrraaaawwww3333DDDDRRRReeeeccccttttaaaannnngggglllleeee may be
  234.      invoked to draw the border.  The _t_k_w_i_n argument specifies the window for |
  235.      which the border was allocated, and _d_r_a_w_a_b_l_e specifies a window or pixmap
  236.      in which the border is to be drawn.  _D_r_a_w_a_b_l_e need not refer to the same
  237.      window as _t_k_w_i_n, but it must refer to a compatible pixmap or window:  one
  238.      associated with the same screen and with the same depth as _t_k_w_i_n.  The _x,
  239.      _y, _w_i_d_t_h, and _h_e_i_g_h_t arguments define the bounding box of the border
  240.      region within _d_r_a_w_a_b_l_e (usually _x and _y are zero and _w_i_d_t_h and _h_e_i_g_h_t are
  241.      the dimensions of the window), and _b_o_r_d_e_r_W_i_d_t_h specifies the number of
  242.      pixels actually occupied by the border.  The _r_e_l_i_e_f argument indicates
  243.      which of several three-dimensional effects is desired:  TK_RELIEF_RAISED
  244.      means that the interior of the rectangle should appear raised relative to
  245.      the exterior of the rectangle, and TK_RELIEF_SUNKEN means that the
  246.      interior should appear depressed.  TK_RELIEF_GROOVE and TK_RELIEF_RIDGE
  247.      mean that there should appear to be a groove or ridge around the exterior
  248.      of the rectangle.
  249.  
  250.      TTTTkkkk____FFFFiiiillllllll3333DDDDRRRReeeeccccttttaaaannnngggglllleeee is somewhat like TTTTkkkk____DDDDrrrraaaawwww3333DDDDRRRReeeeccccttttaaaannnngggglllleeee except that it
  251.      first fills the rectangular area with the background color (one
  252.      corresponding to the _c_o_l_o_r_N_a_m_e used to create _b_o_r_d_e_r).  Then it calls
  253.      TTTTkkkk____DDDDrrrraaaawwww3333DDDDRRRReeeeccccttttaaaannnngggglllleeee to draw a border just inside the outer edge of the
  254.      rectangular area.  The argument _r_e_l_i_e_f indicates the desired effect
  255.      (TK_RELIEF_FLAT means no border should be drawn; all that happens is to
  256.      fill the rectangle with the background color).
  257.  
  258.  
  259.  
  260.  
  261.                                                                         PPPPaaaaggggeeee 4444
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268. TTTTkkkk____GGGGeeeetttt3333DDDDBBBBoooorrrrddddeeeerrrr((((3333TTTTkkkk))))                                        TTTTkkkk____GGGGeeeetttt3333DDDDBBBBoooorrrrddddeeeerrrr((((3333TTTTkkkk))))
  269.  
  270.  
  271.  
  272.      The procedure TTTTkkkk____DDDDrrrraaaawwww3333DDDDPPPPoooollllyyyyggggoooonnnn may be used to draw more complex shapes
  273.      with a three-dimensional appearance.  The _p_o_i_n_t_P_t_r and _n_u_m_P_o_i_n_t_s
  274.      arguments define a trajectory, _p_o_l_y_B_o_r_d_e_r_W_i_d_t_h indicates how wide the
  275.      border should be (and on which side of the trajectory to draw it), and
  276.      _l_e_f_t_R_e_l_i_e_f indicates which side of the trajectory should appear raised.
  277.      TTTTkkkk____DDDDrrrraaaawwww3333DDDDPPPPoooollllyyyyggggoooonnnn draws a border around the given trajectory using the
  278.      colors from _b_o_r_d_e_r to produce a three-dimensional appearance.  If the
  279.      trajectory is non-self-intersecting, the appearance will be a raised or
  280.      sunken polygon shape.  The trajectory may be self-intersecting, although
  281.      it's not clear how useful this is.
  282.  
  283.      TTTTkkkk____FFFFiiiillllllll3333DDDDPPPPoooollllyyyyggggoooonnnn is to TTTTkkkk____DDDDrrrraaaawwww3333DDDDPPPPoooollllyyyyggggoooonnnn what TTTTkkkk____FFFFiiiillllllll3333DDDDRRRReeeeccccttttaaaannnngggglllleeee is to
  284.      TTTTkkkk____DDDDrrrraaaawwww3333DDDDRRRReeeeccccttttaaaannnngggglllleeee:  it fills the polygonal area with the background
  285.      color from _b_o_r_d_e_r, then calls TTTTkkkk____DDDDrrrraaaawwww3333DDDDPPPPoooollllyyyyggggoooonnnn to draw a border around
  286.      the area (unless _l_e_f_t_R_e_l_i_e_f is TK_RELIEF_FLAT;  in this case no border is
  287.      drawn).
  288.  
  289.      The procedures TTTTkkkk____3333DDDDVVVVeeeerrrrttttiiiiccccaaaallllBBBBeeeevvvveeeellll and TTTTkkkk____3333DDDDHHHHoooorrrriiiizzzzoooonnnnttttaaaallllBBBBeeeevvvveeeellll provide       |
  290.      lower-level drawing primitives that are used by procedures such as       |
  291.      TTTTkkkk____DDDDrrrraaaawwww3333DDDDRRRReeeeccccttttaaaannnngggglllleeee.  These procedures are also useful in their own right |
  292.      for drawing rectilinear border shapes.  TTTTkkkk____3333DDDDVVVVeeeerrrrttttiiiiccccaaaallllBBBBeeeevvvveeeellll draws a       |
  293.      vertical beveled edge, such as the left or right side of a rectangle, and|
  294.      TTTTkkkk____3333DDDDHHHHoooorrrriiiizzzzoooonnnnttttaaaallllBBBBeeeevvvveeeellll draws a horizontal beveled edge, such as the top or |
  295.      bottom of a rectangle.  Each procedure takes _x, _y, _w_i_d_t_h, and _h_e_i_g_h_t     |
  296.      arguments that describe the rectangular area of the beveled edge (e.g.,  |
  297.      _w_i_d_t_h is the border width for TTTTkkkk____3333DDDDVVVVeeeerrrrttttiiiiccccaaaallllBBBBeeeevvvveeeellll).  The _l_e_f_t_B_o_r_d_e_r and   |
  298.      _t_o_p_B_o_r_d_e_r arguments indicate the position of the border relative to the  |
  299.      ``inside'' of the object, and _r_e_l_i_e_f indicates the relief of the inside  |
  300.      of the object relative to the outside.  TTTTkkkk____3333DDDDVVVVeeeerrrrttttiiiiccccaaaallllBBBBeeeevvvveeeellll just draws a  |
  301.      rectangular region.  TTTTkkkk____3333DDDDHHHHoooorrrriiiizzzzoooonnnnttttaaaallllBBBBeeeevvvveeeellll draws a trapezoidal region to  |
  302.      generate mitered corners;  it should be called after TTTTkkkk____3333DDDDVVVVeeeerrrrttttiiiiccccaaaallllBBBBeeeevvvveeeellll  |
  303.      (otherwise TTTTkkkk____3333DDDDVVVVeeeerrrrttttiiiiccccaaaallllBBBBeeeevvvveeeellll will overwrite the mitering in the corner).|
  304.      The _l_e_f_t_I_n and _r_i_g_h_t_I_n arguments to TTTTkkkk____3333DDDDHHHHoooorrrriiiizzzzoooonnnnttttaaaallllBBBBeeeevvvveeeellll describe the    |
  305.      mitering at the corners;  a value of 1 means that the bottom edge of the |
  306.      trapezoid will be shorter than the top, 0 means it will be longer.  For  |
  307.      example, to draw a rectangular border the top bevel should be drawn with |
  308.      1 for both _l_e_f_t_I_n and _r_i_g_h_t_I_n, and the bottom bevel should be drawn with |
  309.      0 for both arguments.
  310.  
  311.      The procedure TTTTkkkk____SSSSeeeettttBBBBaaaacccckkkkggggrrrroooouuuunnnnddddFFFFrrrroooommmmBBBBoooorrrrddddeeeerrrr will modify the background pixel
  312.      and/or pixmap of _t_k_w_i_n to produce a result compatible with _b_o_r_d_e_r.  For
  313.      color displays, the resulting background will just be the color given by
  314.      the _c_o_l_o_r_N_a_m_e argument passed to TTTTkkkk____GGGGeeeetttt3333DDDDBBBBoooorrrrddddeeeerrrr when _b_o_r_d_e_r was created;
  315.      for monochrome displays, the resulting background will be a light stipple
  316.      pattern, in order to distinguish the background from the illuminated
  317.      portion of the border.
  318.  
  319.      Given a token for a border, the procedure TTTTkkkk____NNNNaaaammmmeeeeOOOOffff3333DDDDBBBBoooorrrrddddeeeerrrr will return
  320.      the _c_o_l_o_r_N_a_m_e string that was passed to TTTTkkkk____GGGGeeeetttt3333DDDDBBBBoooorrrrddddeeeerrrr to create the
  321.      border.
  322.  
  323.  
  324.  
  325.  
  326.  
  327.                                                                         PPPPaaaaggggeeee 5555
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334. TTTTkkkk____GGGGeeeetttt3333DDDDBBBBoooorrrrddddeeeerrrr((((3333TTTTkkkk))))                                        TTTTkkkk____GGGGeeeetttt3333DDDDBBBBoooorrrrddddeeeerrrr((((3333TTTTkkkk))))
  335.  
  336.  
  337.  
  338.      The procedure TTTTkkkk____3333DDDDBBBBoooorrrrddddeeeerrrrCCCCoooolllloooorrrr returns the XColor structure that will be
  339.      used for flat surfaces drawn for its _b_o_r_d_e_r argument by procedures like
  340.      TTTTkkkk____FFFFiiiillllllll3333DDDDRRRReeeeccccttttaaaannnngggglllleeee.  The return value corresponds to the _c_o_l_o_r_N_a_m_e passed
  341.      to TTTTkkkk____GGGGeeeetttt3333DDDDBBBBoooorrrrddddeeeerrrr.  The XColor, and its associated pixel value, will
  342.      remain allocated as long as _b_o_r_d_e_r exists.
  343.  
  344.      The procedure TTTTkkkk____3333DDDDBBBBoooorrrrddddeeeerrrrGGGGCCCC returns one of the X graphics contexts that  |
  345.      are used to draw the border.  The argument _w_h_i_c_h selects which one of the|
  346.      three possible GC's:  TK_3D_FLAT_GC returns the context used for flat    |
  347.      surfaces, TK_3D_LIGHT_GC returns the context for light shadows, and      |
  348.      TK_3D_DARK_GC returns the context for dark shadows.
  349.  
  350.      When a border is no longer needed, TTTTkkkk____FFFFrrrreeeeeeee3333DDDDBBBBoooorrrrddddeeeerrrr should be called to
  351.      release the resources associated with the border.  There should be
  352.      exactly one call to TTTTkkkk____FFFFrrrreeeeeeee3333DDDDBBBBoooorrrrddddeeeerrrr for each call to TTTTkkkk____GGGGeeeetttt3333DDDDBBBBoooorrrrddddeeeerrrr.
  353.  
  354.  
  355. KKKKEEEEYYYYWWWWOOOORRRRDDDDSSSS
  356.      3D, background, border, color, depressed, illumination, polygon, raised,
  357.      shadow, three-dimensional effect
  358.  
  359.  
  360.  
  361.  
  362.  
  363.  
  364.  
  365.  
  366.  
  367.  
  368.  
  369.  
  370.  
  371.  
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.                                                                         PPPPaaaaggggeeee 6666
  394.  
  395.  
  396.  
  397.